home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
util
/
pack
/
ULIB3954.lha
/
UnpackLib
/
Programmers_Docs
/
UnpackLib_History
< prev
next >
Wrap
Text File
|
1994-12-05
|
10KB
|
274 lines
***************************************************************************
* HISTORY FOR THE UNPACK.LIBRARY *
***************************************************************************
Unpack.library V39.54
The unpack.library was coded by Thomas Neumann alias Tax of
Access for SHI (Safe Hex International).
See also the doc file for more information about this library.
***************************************************************************
* Ideas coming up in newer versions *
***************************************************************************
- Detect more crunchers, ofcourse :-)
***************************************************************************
* New functions *
***************************************************************************
V34.1 TestHunk(), UnpackNum(), UnpackList() & UnpackListNext()
V34.20 LoadFile(), FreeFile()
V36.30 UseDrive(), UnuseDrive(), SendCmd()
V37.32 NewUnpackNum()
***************************************************************************
* BUG Report and changes *
***************************************************************************
V34.1
-----
Nico François has changed the Hunk_Reloc32 structure in his PowerPacker
V4.0. I haven't noticed it before, so when you decrunch a V4.0 Object file,
you will get a defect object file. This is fixed now.
Moved the UI_CrunchLen in the info structure from the private area to the
user area and added a UI_CrunchLenTemp at the old place instead.
V34.11
------
When you decrunch a file and there isn't enought memory, the error flag
didn't indicate a memory error. This is fixed now.
V34.20
------
A new bit in the UI_CrunchType are implemented. It's bit number 7. This bit
indicates if the file are encrypted, like PowerPacker encryption. If set,
it's an encrypted file.
When the Unpack() function calls the TestHunk() function and the TestHunk()
returns an error, the computer makes a system failure. (I forgot to return
a value from the stack :-(
A little bug fixed in the TestHunk() function.
A NOTE TO Nico François:
------------------------
I think there are a bug in your PowerPacker when you handle overlayed
files. I have try with an old version of DeluxePaint III and in the
unpacked file the header says there are 12 hunks, where the first three are
loaded first and the rest are overlays. Then I crunch it with PowerPacker
and your decruncher have only 2 hunks to be loaded and the rest are
overlays, but the header still says there are 12 hunks!!! (Tested with
PowerPacker V4.2).
The Determine() function have some problems with Imploder 4.0 library
header. This should be fixed now.
There was a bug in the delete routine in the filepack unpacker. It goes
into a never ending loop if it tries to delete a directory there are in
use, for example if you have an assign to a directory and then try to
delete it, the routine goes into the loop. This is fixed, I just have to
test the DOS error number for number 202 (Object in use).
A little bug in the UnpackListNext() function are fixed.
V34.21
------
Compressor Crackings Inc. cruncher are changed to TNM Cruncher.
V35.22
------
A bug in the LHA unpacker routine fixed. It didn't check for the LHA
program failed.
The NoFree bit in the UI_Flag has been born.
Added a UserData field in the info structure.
A little bug in the LoadFile() function fixed. Didn't free the memory if
there occurs an error when reading the file.
The file currupt error implemented.
A bug in the Titantic Decruncher fixed.
When you try to decrunch a LHA file, you have to open a CLI window first.
This is because when I call the Execute() function, I give zero for
standard input and output. Now I open the NIL: first and use this
filehandler. If you still find any errors with the LHA unpacker routine,
please contact me.
V36.30
------
A bug in the powerpacker decruncher routine fixed. Couldn't handle BSS_Hunk
correctly.
The code in the library are rotated and optimized some places.
Cache clearing are implemented.
I forgot to put the UI_UserData field in A1 when unpacking archive files.
Added some new fields in the info structure and a few new functions so the
programmer easy can unpack track-crunched files.
V36.31
------
A bug in the determine routine for the Double Action cruncher fixed.
Doc's are fixed and removed into different directories.
V37.32
------
The CLI command version will now work. I don't know how long time I have
used to fix this bug. It was just a stupid 'V' before the version number in
the ID string :^<
The Gnu Packer numbers are changed a bit, see the include file for more
information.
Woooow!!! I have optimized the DetermineFile() function a lot, so now is
must faster and fill about 1.5K less than the old one!!!! Isn't that great?
8-O
An enforcer hit was detected in the old DetermineFile() function, but
this is fixed now in the new function.
An ErrorMsg pointer are implemented.
The NoLoad flag are implemented and the UI_CrunchAdr field are made public.
The UnpackNum() function are made OBSOLETE!!! A new function are
implemented so the C programmers can use this function.
The UnpackListNext() function returns now a zero in A1 when there are no
more crunchers in the list.
A big bug fixed in the StoneCracker 2.92-2.99d unpacker routine.
A little bug fixed in the Crunch Mania Reloc unpacker routine and in the
determine routine.
A giga bug fixed in the TurboSqueeze 8.0 unpacker routine. Didn't reloc the
file.
V38.40
------
I major bug fixed in the PowerPacker decruncher. Couldn't handle hunks with
a length of 0.
Added the protection bit in the UI_Flag.
The Unpack() function are made recursive. See docs for more info.
The Defjam32 Label changed to Defjam36.
Added the UI_LhaPattern pointer to the info structure.
V39.50
------
A bug fixed in the PowerPacker V3.0 unpacker routine.
A major bug fixed in the recursive routine. The whole Archive scanning
routine are rewritten. See new example of how to make an unpacker routine.
The UI_UseFilenamePointer flag are implemented.
Now will the DetermineFile() function only change the protection bits if
the R,W,E or D bits are NOT set, instead of always change them.
V39.51
------
A bug fixed in the AllocCInfo() functions. Didn't save the A2 register :(.
If you set the UI_Path to zero, a copy are made from address zero instead
of skipping it.
A big thanks to Gabriele Greco for his bug letter!! The first bug you write
about the UnpackList() & UnpackListNext() functions was the whole bug in
the library!!! If you look at my info structure, you will notice that I
have a BOOL datatype and under that a UBYTE. The only reason I have the
UBYTE as a pad, its I throught that the BOOL was 8 bit, but it isn't, is 16
bit!! That means, all the other datatypes under the UBYTE will be stored at
odd addresses, and that wouldn't work on a 68000. So big thanks to you
Gabriele :-).
Well, I think there are a bug in the OneFile mode of the Lha unpacking
routine, because I have seen a SnoopDos log file where the name the library
should unpack are garbage. I have looked at it, and I couldn't find any
errors. Maybe it had something about caches, so I implement a ClearCache
routine between I have read from the lha file and begin to copy the
filename from it.
V39.52
------
Some Enforcer hits removed from the Determine Function.
Optimized a little bit around in the library.
Fixed the LHA unpacker. It should work now. It was some problems with the
LHA extract output file reader. Sometimes it reach a wrong place and try
to open a file with that name, which a "Please Insert Volume Extract:"
requester will appear.
V39.53
------
Fixed a minor bug in the lha extract routine. Now it should handle the
display files (the files with the name "*") currently.
Recoded the TestHunk() function. Sometimes it says a file with overlays was
defect. Now it should work.
I have set a indentifier in front of all the functions call. The functions
work as they always have do, but instead of write Unpack(a6), you have to
write upUnpack(a6).
Fixed a bug in the Determine() function. Couldn't indentify Imploder files
currently.
Thanks to Erik Løvendahl for the bug report file.
V39.54
------
Well, only one thing is changed in this version, and that is if the library
get some kind of an error when unpacking lha archives, it will not delete
any files there are unpacked if the delete flag is on. This is changed so
it now delete all the files even if it got some error. Notice that the
library will not jump through the jump vector if it got some error. Thanks
to John Veldthuis for telling me about this little bug.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you find any bugs, then feel free to contact me on this address:
Thomas Neumann
Kongensgade 78
3550 Slangerrup
Denmark
***************************************************************************
* *
***************************************************************************
Have fun with this library, signed
Thomas Neumann, member of the SHI Anti Virus Group.